package com.zzyl.service;

import com.aliyun.iot20180120.models.QueryDevicePropertyStatusRequest;
import com.aliyun.iot20180120.models.QueryDevicePropertyStatusResponseBody;
import com.aliyun.iot20180120.models.QueryThingModelPublishedRequest;
import com.zzyl.base.PageResponse;
import com.zzyl.base.ResponseResult;
import com.zzyl.dto.DeviceDto;
import com.zzyl.dto.DevicePageQueryDto;
import com.zzyl.vo.DeviceDataGraphVo;
import com.zzyl.vo.DeviceVo;
import com.zzyl.vo.ProductVo;

import java.util.List;
import java.util.Map;

public interface DeviceService {

    void queryProductList();

    List<ProductVo> allProduct();

    public ResponseResult registerDevice(DeviceDto deviceDto);

    PageResponse<DeviceVo> pageQueryDevice(DevicePageQueryDto devicePageQueryDto);

    DeviceVo queryDeviceDetail(DeviceDto deviceDto);

    QueryDevicePropertyStatusResponseBody.QueryDevicePropertyStatusResponseBodyData queryDevicePropertyStatus(QueryDevicePropertyStatusRequest request) throws Exception;

    Map<String, String> queryThingModelPublished(QueryThingModelPublishedRequest request) throws Exception;

    void UpdateDevice(DeviceDto deviceDto) throws Exception;

    void DeleteDevice(DeviceDto deviceDto) throws Exception;

    List<DeviceDataGraphVo> queryDeviceDataListByDay(String iotId, String functionId, Long startTime, Long endTime);

    List<DeviceDataGraphVo> pageQueryAlertData(String iotId, String functionId, Long startTime, Long endTime);
}



















